<?php
/**
 * 这是整个应用的统一入口.
 */
include_once "inc/crm.inc.php";

//如果没有指定视图, 则默认首页
if(isempty(@$_POST['view'])){
	header("Location: ".SERVER_ROOT."{$cf_entry}?view=$cf_homeview");
	myexit();
}

//获取视图名对应的模板路径,如果不存在, 则视无权访问
$params = array("name"=>$_POST['view']);
$view = getview($params);
$view = @$view[0];
$viewpath = @$view['path'];
if(!$viewpath){
	echo rendertpl("noview.tpl");
	myexit();
}

//网页标题
//error_log("title".$view['title']);
if(isempty(@$view['title']))
	$_title = $_POST['view'];
else
	$_title = $view['title'];

//次而判断是否存在操作op, 如果存在, 判断是否可以进行操作
if(isset($_POST['op'])){
	$params = array("viewname"=>$_POST['view'], "opname"=>$_POST['op']);
	$op = getop($params);
	$op = @$op[0];
	
	//error_log("op:".print_r($op,1));
	if(isempty(@$op['title']))
		$_title .= " - ".$_POST['op'];
	else
		$_title .= " - ".$op['title'];
		
	if($cf_opauthflg && (null==$op || count($op)<1 || empty($op['id']))){
		echo rendertpl("noop.tpl");
		myexit();
	}
}

//如果用户有权访问该视图, 调用该视图的后端(服务端)处理函数或直接渲染视图.
$renderview = false; //是否要渲染主页
if(!isset($_POST['op'])){//如果没有设置操作参数,则直接输出
	$renderview = true;
}
else{
	@include_once ROOT_DIR."/bend/bend.$_POST[view].php";
	$bend_func = "bend_$_POST[view]";
	
	if(function_exists($bend_func)){
		$retparams = null;
		$ret = $bend_func($retparams);
	}
	
	if(!function_exists($bend_func) || BEND_REDIRECT===$ret){
		header("Location: ".SERVER_ROOT."{$cf_entry}?view=$_POST[view]");
	}
	elseif(BEND_RENDERED===$ret){
		;
	}
	elseif(BEND_ECHORET===$ret){
		$errorcode = @$retparams['errorcode'];
		if(0===$errorcode && isempty(@$retparams['url']))
			$retparams['url'] = "?view=$_POST[view]";
		echo json_encode($retparams);
	}
	else{//BEND_HOMEPAGE or else
		$renderview = true;
	}
}
if($renderview){
	echo rendertpl($viewpath);
}

myexit();
?>